package com.hqhy.like.front.order.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 标准VO类：订单信息
 */
@Data
public class OrderStandardVO implements Serializable {
    /**
     * 数据ID
     */
    private Long id;

    /**
     * 顾客ID
     */
    private Long customerId;

    /**
     * 顾客用户名
     */
    private String customerUsername;

    /**
     * 顾客电话
     */
    private String customerPhone;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 桌台名
     */
    private String tableName;

    /**
     * 菜品数量
     */
    private Integer dishNum;

    /**
     * 支付渠道：1=支付宝，2=微信, 3=现金
     */
    private Integer payChannel;

    /**
     * 下单方式:1.外卖 2.自助点餐 3.预约
     */
    private Integer orderMethod;

    /**
     * 订单总价
     */
    private BigDecimal totalPrice;

    /**
     * 订单状态:  0=待接单（客户已下单待商家接单），1=已接单（商家已接预约单，待客户确认预约），
     * 2=已接单（商家已接单制作中），3=待取餐（制作完成，待取餐），4=订单完成（未支付），5=订单完成（已支付）
     */
    private Integer orderState;

    /**
     * 待取餐订单取餐状态信息：0=保留状态 , 1=正常状态, 2=用餐状态
     */
    private Integer takingStatus;

    /**
     * 订单创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreate;

    /**
     * 订单修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtModified;

    /**
     * 订单详请列表
     */
    private List<OrderDetailsStandardVO> orderDetailsList;

}
